/*--------------------------------------------------*/
/*VirtualSociety System ServiceModuleTemplate Class Header File*/
/*CreateBy SRPLab                */
/*CreateDate: 2011-3-29  */
/*--------------------------------------------------*/
#ifndef SRPSIMGLIBENGINE_CLASSHEADERFILE
#define SRPSIMGLIBENGINE_CLASSHEADERFILE

#define _INCLUDE_STARLIB
#include "SRPSImgLibEngine_VSHeader.h"

#if( VS_OS_TYPE == VS_OS_WINDOWS )
#pragma warning (disable:4819)
#pragma warning (disable:4244)
#pragma warning (disable:4996)
#pragma warning (disable:4800)
#endif

#pragma pack(4)

class ClassOfSImgLibClass:public ClassOfSRPObject{
public:
    ClassOfSImgLibClass();  //--Not Create a Class Object, Use WrapObject() to attach 
    ClassOfSImgLibClass(class ClassOfSRPInterface *In_SRPInterface);  //--Create a Class Object
    ClassOfSImgLibClass(class ClassOfSRPInterface *In_SRPInterface,void *SRPObject);  //--Create a Class Object and wrap SRPObject
    virtual VS_CHAR *SRPAPI GetSelfName();
    static class ClassOfSImgLibClass *SRPAPI GetSRPWrap( class ClassOfSRPInterface *In_SRPInterface,void *SRPObject,VS_ULONG In_ClassLayer = 0xFFFFFFFF);
public:
    //--Function Define
    VS_BOOL SRPAPI C_DecodeImg(VS_BINBUFPTR InputBuf,VS_UINT32 * OutWidth,VS_UINT32 * OutHeight,VS_BINBUFPTR OutputBuf);
    VS_BOOL SRPAPI C_CodeBMP(VS_UINT32 InWidth,VS_UINT32 InHeight,VS_BINBUFPTR InputBuf,VS_BINBUFPTR OutputBuf);
    VS_BOOL SRPAPI C_CodeJPG(VS_UINT32 InWidth,VS_UINT32 InHeight,VS_BINBUFPTR InputBuf,VS_FLOAT Quality,VS_BINBUFPTR OutputBuf);
    VS_BOOL SRPAPI C_CodePNG(VS_UINT32 InWidth,VS_UINT32 InHeight,VS_BINBUFPTR InputBuf,VS_BINBUFPTR OutputBuf);
    VS_BOOL SRPAPI C_DecodeGIF(VS_BINBUFPTR InputBuf,VS_UINT32 * OutWidth,VS_UINT32 * OutHeight,VS_BINBUFPTR OutputBuf,VS_UINT32 * FrameNumber,VS_PARAPKGPTR DelayTime);
};

/*--------------------------------------------------*/

#pragma pack()

#endif
